SqlConnection 类 (System.Data.SqlClient)

您所在的位置:网站首页 extjs 对象重写类的方法 SqlConnection 类 (System.Data.SqlClient)

SqlConnection 类 (System.Data.SqlClient)

2023-06-01 09:08| 来源: 网络整理| 查看: 265

SqlConnection 类 参考 定义 命名空间: System.Data.SqlClient 程序集:System.Data.SqlClient.dll 程序集:System.Data.dll

重要

一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。

表示到 SQL Server 数据库的连接。 此类不能被继承。

public ref class SqlConnection sealed : System::Data::Common::DbConnection, ICloneable public ref class SqlConnection sealed : System::Data::Common::DbConnection public ref class SqlConnection sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbConnection public ref class SqlConnection sealed : System::Data::Common::DbConnection, ICloneable, IDisposable public sealed class SqlConnection : System.Data.Common.DbConnection, ICloneable public sealed class SqlConnection : System.Data.Common.DbConnection public sealed class SqlConnection : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbConnection public sealed class SqlConnection : System.Data.Common.DbConnection, ICloneable, IDisposable type SqlConnection = class inherit DbConnection interface ICloneable type SqlConnection = class inherit DbConnection type SqlConnection = class inherit Component interface IDbConnection interface IDisposable interface ICloneable type SqlConnection = class inherit DbConnection interface IDbConnection interface ICloneable interface IDisposable Public NotInheritable Class SqlConnection Inherits DbConnection Implements ICloneable Public NotInheritable Class SqlConnection Inherits DbConnection Public NotInheritable Class SqlConnection Inherits Component Implements ICloneable, IDbConnection, IDisposable Public NotInheritable Class SqlConnection Inherits DbConnection Implements ICloneable, IDisposable 继承 Object DbConnection SqlConnection 继承 Object MarshalByRefObject Component DbConnection SqlConnection 继承 Object MarshalByRefObject Component SqlConnection 实现 ICloneable IDbConnection IDisposable 示例

以下示例创建一个 SqlCommand 和一个 SqlConnection。 打开SqlConnection并设置为Connection SqlCommand 然后,该示例调用 ExecuteNonQuery。 为此,将ExecuteNonQuery传递一个连接字符串和一个查询字符串,该字符串是 Transact-SQL INSERT 语句。 当代码退出 using 块时,连接会自动关闭。

private static void CreateCommand(string queryString, string connectionString) { using (SqlConnection connection = new SqlConnection( connectionString)) { SqlCommand command = new SqlCommand(queryString, connection); command.Connection.Open(); command.ExecuteNonQuery(); } } Public Sub CreateCommand(ByVal queryString As String, _ ByVal connectionString As String) Using connection As New SqlConnection(connectionString) Dim command As New SqlCommand(queryString, connection) command.Connection.Open() command.ExecuteNonQuery() End Using End Sub 注解

对象SqlConnection表示SQL Server数据源的唯一会话。 使用客户端/服务器数据库系统时,它等效于与服务器的网络连接。 SqlConnection与SqlDataAdapter连接到Microsoft SQL Server数据库时结合使用并SqlCommand提高性能。 对于所有第三方SQL Server产品和其他 OLE DB 支持的数据源,请使用OleDbConnection。

创建实例 SqlConnection时,所有属性都设置为其初始值。 有关这些值的列表,请参阅 SqlConnection 构造函数。

请参阅ConnectionString连接字符串中的关键字列表。

SqlConnection如果超出范围,则不会关闭。 因此,必须通过调用 Close 或 Dispose显式关闭连接。 Close 在 Dispose 功能上等效。 如果连接池值 Pooling 设置为 true 或 yes将基础连接返回到连接池。 另一方面,如果 Pooling 设置为 false 或 no实际上关闭与服务器的基础连接。

备注

从连接池中提取连接或将连接返回到连接池时,服务器上不会引发登录和注销事件,这是因为在将连接返回到连接池时实际上并没有将其关闭。 有关详细信息,请参阅 SQL Server 连接池 (ADO.NET)。

若要确保连接始终关闭,请在块内部 using 打开连接,如以下代码片段所示。 这样做可确保代码退出块时自动关闭连接。

Using connection As New SqlConnection(connectionString) connection.Open() ' Do work here; connection closed on following line. End Using using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); // Do work here; connection closed on following line. }

备注

若要部署高性能应用程序,必须使用连接池。 使用.NET Framework数据提供程序进行SQL Server时,无需启用连接池,因为提供程序会自动管理此配置,尽管可以修改某些设置。 有关详细信息,请参阅 SQL Server 连接池 (ADO.NET)。

如果执行 a SqlCommand的方法生成 aSqlException,SqlConnection则严重级别为 19 或更少时仍保持打开状态。 当严重级别为 20 或更高版本时,服务器通常会关闭 SqlConnection。 但是,用户可以重新打开连接并继续操作。

创建对象的实例 SqlConnection 的应用程序可以通过设置声明性或命令性安全要求,要求所有直接和间接调用方具有对代码的足够权限。 SqlConnection 使用对象发出安全要求 SqlClientPermission 。 用户可以使用该对象验证其代码是否具有足够的权限 SqlClientPermissionAttribute 。 用户和管理员还可以使用 Caspol.exe (代码访问安全策略工具) 修改计算机、用户和企业级别的安全策略。 有关详细信息,请参阅 .NET 中的安全性。 有关演示如何使用安全要求的示例,请参阅 代码访问安全性和 ADO.NET。

有关处理来自服务器的警告和信息性消息的详细信息,请参阅 连接事件。 有关SQL Server引擎错误和错误消息的详细信息,请参阅数据库引擎事件和错误。

注意

可以强制 TCP 而不是共享内存。 可以通过在连接字符串中的服务器名称添加前缀,也可以使用 localhost 来执行此操作。

构造函数 SqlConnection()

初始化 SqlConnection 类的新实例。

SqlConnection(String)

如果给定包含连接字符串的字符串,则初始化 SqlConnection 类的新实例。

SqlConnection(String, SqlCredential)

在给定连接字符串的情况下,初始化 SqlConnection 类的新实例,该连接字符串不使用 Integrated Security = true 和包含用户 ID 和密码的 SqlCredential 对象。

属性 AccessToken

获取或设置用于连接的访问令牌。

CanCreateBatch

获取一个值,该值指示此 DbConnection 是否支持 DbBatch 类。

(继承自 DbConnection) CanRaiseEvents

获取一个指示组件是否可以引发事件的值。

(继承自 Component) ClientConnectionId

最近连接尝试连接的 ID,无论该尝试是成功还是失败。

ColumnEncryptionKeyCacheTtl

在用于 Always Encrypted 功能的列加密密钥缓存中,获取或设置列加密密钥项的生存时间。 默认值为 2 小时。 0 表示无缓存。

ColumnEncryptionQueryMetadataCacheEnabled

获取或设置一个值,该值指示对参数化查询(针对已启用 Always Encrypted 的数据库运行)已启用 (True) 还是未启用 (False) 查询元数据缓存。 默认值为 true。

ColumnEncryptionTrustedMasterKeyPaths

允许你为数据库服务器设置受信任的密钥路径的列表。 如果在处理应用程序查询时驱动程序接收到不位于列表中的密钥路径,则查询会失败。 此属性提供针对安全攻击的额外保护,这些攻击涉及到提供伪造密钥路径的受损 SQL Server,这可能导致泄露密钥存储凭据。

ConnectionString

获取或设置用于打开 SQL Server 数据库的字符串。

ConnectionTimeout

获取在尝试建立连接时终止尝试并生成错误之前所等待的时间(以秒为单位)。

Container

获取包含 IContainer 的 Component。

(继承自 Component) Credential

获取或设置此连接的 SqlCredential 对象。

Credentials Database

获取当前数据库的名称或打开连接后要使用的数据库的名称。

DataSource

获取要连接的 SQL Server 的实例的名称。

DbProviderFactory

获取此 DbProviderFactory 的 DbConnection。

(继承自 DbConnection) DesignMode

获取一个值,用以指示 Component 当前是否处于设计模式。

(继承自 Component) Events

获取附加到此 Component 的事件处理程序的列表。

(继承自 Component) FireInfoMessageEventOnUserErrors

获取或设置 FireInfoMessageEventOnUserErrors 属性。

PacketSize

获取用于与 SQL Server 的实例进行通信的网络数据包的大小(以字节为单位)。

ServerVersion

获取一个字符串,其中包含客户端所连接到的 SQL Server 的实例的版本。

Site

获取或设置 Component 的 ISite。

(继承自 Component) State

最近在连接上执行网络操作时表示 SqlConnection 的状态。

StatisticsEnabled

如果设置为 true,则对当前连接启用统计信息收集。

WorkstationId

获取一个标识数据库客户端的字符串。

方法 BeginDbTransaction(IsolationLevel)

在派生类中重写时,启动数据库事务。

(继承自 DbConnection) BeginDbTransactionAsync(IsolationLevel, CancellationToken)

异步启动数据库事务。

(继承自 DbConnection) BeginTransaction()

开始数据库事务。

BeginTransaction(IsolationLevel)

以指定的隔离级别启动数据库事务。

BeginTransaction(IsolationLevel, String)

以指定的隔离级别和事务名称启动数据库事务。

BeginTransaction(String)

以指定的事务名称启动数据库事务。

BeginTransactionAsync(CancellationToken)

异步开始数据库事务。

(继承自 DbConnection) BeginTransactionAsync(IsolationLevel, CancellationToken)

异步开始数据库事务。

(继承自 DbConnection) ChangeDatabase(String)

更改已打开的 SqlConnection 的当前数据库。

ChangeDatabaseAsync(String, CancellationToken)

为打开的连接对象异步更改当前数据库。

(继承自 DbConnection) ChangePassword(String, SqlCredential, SecureString)

更改 SqlCredential 对象中指示的用户的 SQL Server 密码。

ChangePassword(String, String)

将连接字符串中指示的用户的 SQL Server 密码更改为提供的新密码。

ClearAllPools()

清空连接池。

ClearPool(SqlConnection)

清空与指定连接关联的连接池。

Close()

关闭与数据库之间的连接。 此方法是关闭任何打开连接的首选方法。

CloseAsync()

异步关闭与数据库之间的连接。

(继承自 DbConnection) CreateBatch()

返回实现 DbBatch 类的提供程序类的一个新实例。

(继承自 DbConnection) CreateCommand()

创建并返回与 SqlConnection 关联的 SqlCommand 对象。

CreateDbBatch()

在派生类中重写时,返回实现 DbBatch 该类的提供程序类的新实例。

(继承自 DbConnection) CreateDbCommand()

在派生类中重写时,创建并返回与当前连接关联的 DbCommand 对象。

(继承自 DbConnection) CreateObjRef(Type)

创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。

(继承自 MarshalByRefObject) Dispose()

执行与释放或重置非托管资源关联的应用程序定义的任务。

(继承自 DbConnection) Dispose()

释放由 Component 使用的所有资源。

(继承自 Component) Dispose(Boolean)

释放由 DbConnection 占用的非托管资源,还可以另外再释放托管资源。

(继承自 DbConnection) Dispose(Boolean)

释放由 Component 占用的非托管资源,还可以另外再释放托管资源。

(继承自 Component) DisposeAsync()

异步处置连接对象。

(继承自 DbConnection) EnlistDistributedTransaction(ITransaction)

在指定的事务中登记为分布式事务。

EnlistTransaction(Transaction)

在指定的事务中登记为分布式事务。

EnlistTransaction(Transaction)

在指定事务中登记。

(继承自 DbConnection) Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object) GetHashCode()

作为默认哈希函数。

(继承自 Object) GetLifetimeService() 已过时。

检索控制此实例的生存期策略的当前生存期服务对象。

(继承自 MarshalByRefObject) GetSchema()

返回此 SqlConnection 的数据源的架构信息。 有关架构的详细信息,请参阅 SQL Server 架构集合。

GetSchema()

返回此 DbConnection 的数据源的架构信息。

(继承自 DbConnection) GetSchema(String)

通过使用架构名称的指定字符串,返回此 SqlConnection 的数据源的架构信息。

GetSchema(String)

通过使用架构名称的指定字符串,返回此 DbConnection 的数据源的架构信息。

(继承自 DbConnection) GetSchema(String, String[])

通过使用指定字符串作为架构名称,指定字符串数组作为限制值,返回此 SqlConnection 的数据源的架构信息。

GetSchema(String, String[])

通过使用指定字符串作为架构名称,指定字符串数组作为限制值,返回此 DbConnection 的数据源的架构信息。

(继承自 DbConnection) GetSchemaAsync(CancellationToken)

这是 GetSchema() 的异步版本。 提供程序应使用合适的实现进行重写。 可以选择接受 cancellationToken。 默认实现调用同步 GetSchema() 调用并返回已完成任务。 如果传递到已取消 cancellationToken,则默认实现将返回已取消的任务。 GetSchema() 引发的异常将通过任务异常属性传递。

(继承自 DbConnection) GetSchemaAsync(String, CancellationToken)

这是 GetSchema(String) 的异步版本。 提供程序应使用合适的实现进行重写。 可以选择接受 cancellationToken。 默认实现调用同步 GetSchema(String) 调用并返回已完成任务。 如果传递到已取消 cancellationToken,则默认实现将返回已取消的任务。 GetSchema(String) 引发的异常将通过任务异常属性传递。

(继承自 DbConnection) GetSchemaAsync(String, String[], CancellationToken)

这是 GetSchema(String, String[]) 的异步版本。 提供程序应使用合适的实现进行重写。 可以选择接受 cancellationToken。 默认实现调用同步 GetSchema(String, String[]) 调用并返回已完成任务。 如果传递到已取消 cancellationToken,则默认实现将返回已取消的任务。 GetSchema(String, String[]) 引发的异常将通过任务异常属性传递。

(继承自 DbConnection) GetService(Type)

返回一个对象,该对象表示由 Component 或它的 Container 提供的服务。

(继承自 Component) GetType()

获取当前实例的 Type。

(继承自 Object) InitializeLifetimeService() 已过时。

获取生存期服务对象来控制此实例的生存期策略。

(继承自 MarshalByRefObject) MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object) MemberwiseClone(Boolean)

创建当前 MarshalByRefObject 对象的浅表副本。

(继承自 MarshalByRefObject) OnStateChange(StateChangeEventArgs)

引发 StateChange 事件。

(继承自 DbConnection) Open()

使用由 ConnectionString 指定的属性设置打开一个数据库连接。

OpenAsync()

Open()的异步版本,打开由 ConnectionString指定的设置的数据库连接。 此方法通过 CancellationToken.None 调用虚拟方法 OpenAsync(CancellationToken)。

(继承自 DbConnection) OpenAsync(CancellationToken)

Open() 的异步版本,打开 ConnectionString 指定的属性设置的数据库连接。 取消标记可用于请求在连接超时超过前放弃操作。 异常将通过返回的任务传播。 如果在未成功连接的情况下连接超时时间已过,则返回的任务将被标记为“附带异常出错”。 实现返回一个不带有用于共用和非共用连接的锁定调用线程的“任务”。

OpenAsync(CancellationToken)

这是 Open() 的异步版本。 提供程序应使用合适的实现进行重写。 可选择性接受取消标记。

默认实现调用同步 Open() 调用并返回已完成任务。 如果传递到已取消的取消标记,则默认实现将返回已取消的 cancellationToken。 Open 引发的异常将通过返回的任务异常属性传递。

在返回的任务完成前,不要调用 DbConnection 对象的其他方法和属性。

(继承自 DbConnection) RegisterColumnEncryptionKeyStoreProviders(IDictionary)

注册列加密密钥存储提供程序。

ResetStatistics()

如果启用了统计信息收集,所有值都将重置为零。

RetrieveStatistics()

调用此方法时,将返回统计信息的名称值对集合。

ToString()

返回表示当前对象的字符串。

(继承自 Object) ToString()

返回包含 Component 的名称的 String(如果有)。 不应重写此方法。

(继承自 Component) 事件 Disposed

在通过调用 Dispose() 方法释放组件时发生。

(继承自 Component) InfoMessage

当 SQL Server 返回一个警告或信息性消息时发生。

StateChange

当连接状态改变时发生。

StateChange

当连接状态改变时发生。

(继承自 DbConnection) 显式接口实现 ICloneable.Clone()

创建作为当前实例副本的新对象。

IDbConnection.BeginTransaction()

开始一项数据库事务。

IDbConnection.BeginTransaction()

开始一项数据库事务。

(继承自 DbConnection) IDbConnection.BeginTransaction(IsolationLevel)

以指定的 IsolationLevel 值开始数据库事务。

IDbConnection.BeginTransaction(IsolationLevel)

以指定的隔离级别启动数据库事务。

(继承自 DbConnection) IDbConnection.CreateCommand()

创建并返回一个与连接关联的命令对象。

IDbConnection.CreateCommand()

创建并返回与当前连接关联的 DbCommand 对象。

(继承自 DbConnection) 适用于 另请参阅 连接到 ADO.NET 中的数据源 SQL Server 和 ADO.NET ADO.NET 概述


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3